//
//
//

// 获取第一个单词
// fn main() {
//   let mut s: String = String::from("hello world");
//   let first_world = get_first_world(&s);
//   println!("单词:{}", first_world);
//   s.clear();
// }
// fn get_first_world(s: &str) -> &str {
//   let bytes: &[u8] = s.as_bytes();
//   for (i, &item) in bytes.iter().enumerate() {
//     if item == b' ' {
//       return &s[..i];
//     }
//   }
//   return &s[..];
// }

// 切片学习
// fn main() -> () {
//   let s: [u32; 5] = [1, 2, 3, 4, 5];
//   let mut a: [u32; 5]= s;
// 	a[0] = 9;
//   println!("{}, {}", a[0], s[0]);

//   return ();
// }

// struct学习
// mod mod1;
// fn main() {
//   use mod1::test2;
//   let asdf: test2::JvXingT = test2::JvXingT { chang: 1, kuan: 2 };
//   println!("矩形面积:{}", test2::qiu_jv_xing_mian_ji(&asdf));
//   println!("1+2={}", test2::add2(1, 2));
//   return ();
// }

// 使用sysinfo库实现获取当前系统的可用内存
// use sysinfo::System;
// fn main() {
//   let mut sys = System::new_all();
//   sys.refresh_all(); // 更新系统信息
//   let free_memory: u64 = sys.free_memory(); // 获取空闲内存，单位为字节
//   println!("系统空闲内存: {} bytes", free_memory);
//   std::mem::drop(sys);
//   let x = Box::new([1; 10]);
//   println!("x = {}", x[1]);
// }

// 使用rust实现Ipv6通信
use std::io::prelude::*;
use std::net::{TcpListener, TcpStream};
fn main() -> () {
  let 服务端 = TcpListener::bind("[::]:8080").unwrap();
  // 流内部记录了返回的数据
  for 流 in 服务端.incoming() {
    let 流 = 流.unwrap();
    println!("检测到了新流!");
    处理好客户端(流);
  }
  return ();
}
fn 处理好客户端(mut stream: TcpStream) {
  let mut buffer = [0u8; 10];
  stream.read(&mut buffer).unwrap();
  println!("接受的消息:{}", String::from_utf8_lossy(&buffer[..]));
}
